Skip to main content link. Accesskey S
  • Help
  • HCL Logo
  • HCL Notes and Domino Application Development wiki
  • THIS WIKI IS READ-ONLY. Individual names altered for privacy purposes.
  • HCL Forums and Blogs
  • Home
  • Product Documentation
  • Community Articles
  • Learning Center
  • API Documentation
Search
Community Articles > 日本語 - Japanese > XPages Social Enabler で Twitter と連携する方法
  • Share Show Menu▼
  • Subscribe Show Menu▼

Recent articles by this author

Community articleXPages Social Enabler で Twitter と連携する方法
Added by ~Rebecca Minfreevitchobu | Edited by ~Rebecca Minfreevitchobu on November 12, 2012 | Version 10
expanded Abstract
collapsed Abstract
XPages Social Enabler ではさまざまなソーシャルメディアやクラウドサービスをデータソースとして利用し、XPages アプリケーションの中で表示したり、メッセージやコンテンツを投稿するなどの連携を行うことができます。Social Enabler では Twitter と連携するための仕組みを提供しています。この記事では、XPages Social Enabler を使用するための構成の手順と、Twitter のデータを XPages アプリケーションで表示する簡単なアプリケーションを紹介します。
Tags: social enabler, twitter
ShowTable of Contents
HideTable of Contents
  • 1 はじめに
  • 2 Twitter を使用するための構成
    • 2.1 Twitter でのアプリケーションの登録
    • 2.2 WebSecurityStore.nsf にキーとシークレットの登録
    • 2.3 サンプルアプリケーションで確認する
  • 3 Twitter と連携するシンプルなアプリケーション
    • 3.1 faces-config.xml の設定
    • 3.2 Data View コントロールによる Twitter の表示
    • 3.3 サンプルコード

はじめに


XPages Social Enabler ではさまざまなソーシャルメディアやクラウドサービスをデータソースとして利用し、XPages アプリケーションの中で表示したり、メッセージやコンテンツを投稿するなどの連携を行うことができます。Social Enabler では Twitter と連携するための仕組みを提供しています。この記事では、XPages Social Enabler を使用するための構成の手順と、Twitter のデータを XPages アプリケーションで表示する簡単なアプリケーションを紹介します。

この記事の内容を実践するには、あらかじめ XPages Extension Library が導入された Domino 環境で、Social Enabler が利用できるように構成されている必要があります。Social Enabler の構成については [T.B.D.] の記事が参考になります。

Twitter を使用するための構成

Twitter でのアプリケーションの登録

1. https://dev.twitter.com/external link を開く

2. 右上で sign in リンクをクリックしログイン

3. Create an app リンクをクリック

4. Create an application ページで適当に入力する。私の場合は以下のように入力

Name: KomineTest
Description: Hiro Komine's test application
Website: http://nd853lab.lotus.com/external link
Callback URL: http://nd853lab.lotus.com/external link

※ ここで指定するアプリケーション名(この例では「KomineTest」)は、あとで WebSecurityStore.nsf に指定する Application Id と一致する必要はない。

5. どこだか忘れたけど Access level を設定

Access level: Read and write

6. 作成後 My applications リンクで内容を確認
以下のような OAuth の設定が表示されるので記録

Access level: Read and write
Consumer key: <アプリケーション毎に割り振られた文字列>
Consumer secret: <アプリケーション毎に割り振られた文字列>
Request token URL: https://api.twitter.com/oauth/request_tokenexternal link
Authorize URL: https://api.twitter.com/oauth/authorizeexternal link
Access token URL: https://api.twitter.com/oauth/access_tokenexternal link

WebSecurityStore.nsf にキーとシークレットの登録

1. http://<server>/websecuritystore.nsf/KeysApplications.xsp を開く

​2. Add Token リンクで以下を設定

Application Id: XPagesSBT
Service Name: Twitter
Consumer Key: <アプリケーション毎に割り振られた文字列>
Consumer Key Type: HMAC-SHA1
Consumer Secret: <アプリケーション毎に割り振られた文字列>
Request Token Uri: https://api.twitter.com/oauth/request_tokenexternal link
Authorization Uri: https://api.twitter.com/oauth/authorizeexternal link
Access Token Uri: https://api.twitter.com/oauth/access_tokenexternal link

この画面での設定方法などは XPages Cheat Sheet のページにある XPages Social Tool リンクの文書に説明があります。

サンプルアプリケーションで確認する

1. 保存後、http://<server>/xpagessbt.nsf を開き、Twitter タブを選択

2. Social Enabler によって Twitterとの OAuth の認可のプロセスが行われる。Twitter のログイン画面が表示され、その後、アプリケーションから Twitter へのアクセスを許可する画面が表示される。

Twitter と連携するシンプルなアプリケーション

faces-config.xml の設定

XPages Social Enabler で Twitter と連携させるためには、Twitter をデータソースとして使用するための設定を、NSF ファイル内の faces-config.xsl に記載する必要がある。faces-config.xsl ファイルは Domino Designer のアプリケーションナビゲーターで表示されないので、パッケージエクスプローラーなどを開いて表示する。
Social Enablerのサンプル NSF の記載が参考になるが、Twitter を動かすためだけの最低限の設定は以下になる。

<?xml version="1.0" encoding="UTF-8"?>
	<faces-config>
	   <!--
	Token store physical implementation This store uses an NSF database to store both the access and the consumer tokens.
	-->
	   <managed-bean>
	      <managed-bean-name>NSFStore</managed-bean-name>
	      <managed-bean-class>com.ibm.xsp.extlib.sbt.security.oauth_10a.store.OAuthNSFTokenStore</managed-bean-class>
	      <managed-bean-scope>application</managed-bean-scope>
	      <managed-property>
	         <property-name>database</property-name>
	         <value>WebSecurityStore.nsf</value>
	      </managed-property>
	   </managed-bean>
	   <!--
	      Twitter 
	   -->
	   <managed-bean>
	      <managed-bean-name>twitter</managed-bean-name>
	      <managed-bean-class>com.ibm.xsp.extlib.sbt.services.client.endpoints.TwitterEndpoint</managed-bean-class>
	      <managed-bean-scope>application</managed-bean-scope>
	      <!-- Endpoint URL -->
	      <managed-property>
	         <property-name>url</property-name>
	         <value>https://api.twitter.com</value>
	      </managed-property>
	      <managed-property>
	         <property-name>serviceName</property-name>
	         <value>Twitter</value>
	      </managed-property>
	      <managed-property>
	         <property-name>appId</property-name>
	         <value>XPagesSBT</value>
	      </managed-property>
	      <!-- OAuth parameters -->
	      <managed-property>
	         <property-name>tokenStore</property-name>
	         <value>NSFStore</value>
	      </managed-property>
	   </managed-bean>
	</faces-config>
	


Data View コントロールによる Twitter の表示

注意: オリジナルのアプリケーションにこの機能を実装する場合には、アプリケーションのプロパティの詳細タブにある「XPages ライブラリ」の「com.ibm.xsp.extlibx.library」を追加選択します。

Twitter のデータを表示するためには、Data View コントロールを使用する。
Data View コントロールの作成時に表示されるダイアログでは、データソースとして Twitter を選択できないので、一旦 Data View コントロールを作成後に、「すべてのプロパティ」で設定を行う。

  • 「データ」→「data」 プロパティ: xe:twitterData を選択する。
  • 「データ」→「data」 タブの設定
    • 「endPoint」プロパティ: twitter
    • 「scope」プロパティ: view
    • 「var」プロパティ: twitterData1
  • 「データ」→「data」 →「基本」タブの設定
    • 「feedType」プロパティ: 表示したい内容に応じて選択
    「feedType」プロパティの設定値
説明
timeLine 自分のタイムライン
publicTimeLine パブリックなタイムライン
mentions 自分のつぶやき
rtByMe 自分がリツィートしたつぶやき
rtToMe 自分宛てにリツィートされたつぶやき
rtOfMe リツィートされた自分のつぶやき

 

 

 

サンプルコード

 
<?xml version="1.0" encoding="UTF-8"?>
	<xp:view xmlns:xp="http://www.ibm.com/xsp/core" xmlns:xe="http://www.ibm.com/xsp/coreex">
	   <xp:this.beforePageLoad><![CDATA[#{javascript:
	if(!@Endpoint("twitter").isAuthenticated()) {
	   @Endpoint("twitter").authenticate(true);
	}
	   }]]></xp:this.beforePageLoad>
	   <xe:dataView rows="8" expandedDetail="true" var="tweet">
	      <xp:this.data>
	         <xe:twitterData var="twitterData1" endpoint="twitter" scope="view" />
	      </xp:this.data>
	      <xp:this.facets>
	         <xe:pagerAddRows id="pagerAddRows1" xp:key="pagerBottom" />
	         <xp:panel xp:key="summary" id="panel1" style="display:inline-block">
	            <xp:link id="link1" style="text-decoration:none;font-weight:bold;" text="#{tweet.author}" />
	         </xp:panel>
	         <xp:panel xp:key="detail" id="panel2">
	            <xp:text id="computedField2" escape="false" contentType="twitterContent">
	               <xp:this.value><![CDATA[#{javascript:tweet.title}]]></xp:this.value>
	            </xp:text>
	         </xp:panel>
	         <xp:panel xp:key="aaa">
	            <xp:text escape="true" id="computedField1" />
	         </xp:panel>
	      </xp:this.facets>
	   </xe:dataView>
	</xp:view>
	

 

 


expanded Attachments (0)
collapsed Attachments (0)
expanded Versions (13)
collapsed Versions (13)
Version Comparison     
VersionDateChanged by              Summary of changes
13Mar 18, 2013, 7:39:52 AM~Lex Quetfreemanynds  Minor change
12Mar 18, 2013, 7:27:35 AM~Vanessa Minfanalyobu  Twitter でのアプリケーションの登録の画面キャプチャー追加
11Nov 12, 2012, 12:19:08 AM~Rebecca Minfreevitchobu  
This version (10)Nov 12, 2012, 12:17:41 AM~Rebecca Minfreevitchobu  
9Nov 12, 2012, 12:02:09 AM~Rebecca Minfreevitchobu  
8Nov 12, 2012, 12:01:13 AM~Rebecca Minfreevitchobu  
7Nov 12, 2012, 12:00:14 AM~Rebecca Minfreevitchobu  
6Nov 11, 2012, 11:58:24 PM~Rebecca Minfreevitchobu  
5Nov 11, 2012, 11:56:55 PM~Rebecca Minfreevitchobu  
4Nov 7, 2012, 2:08:00 AM~Rebecca Fezresaster  
3Nov 6, 2012, 10:32:37 AM~Rebecca Minfreevitchobu  
2Nov 6, 2012, 10:30:42 AM~Rebecca Minfreevitchobu  
1Nov 6, 2012, 9:57:52 AM~Rebecca Minfreevitchobu  
Copy and paste this wiki markup to link to this article from another article in this wiki.
Go ElsewhereStay ConnectedAbout
  • HCL Software
  • HCL Digital Solutions community
  • HCL Software support
  • BlogsDigital Solutions blog
  • Community LinkHCL Software forums and blogs
  • About HCL
  • Privacy
  • Accessibility